-
Notifications
You must be signed in to change notification settings - Fork 186
Easy post_mortem #1996
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Easy post_mortem #1996
Conversation
…ht flag which says whether to apply uncaught exception breakpoint filters, defaulting to True.
|
@nshepperd please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
|
|
See #1530. |
|
Thanks for the submission but I think this would need some sort of automated test before we'd accept it. And maybe a section in the readme.md explaining how to use it. |
…ost_mortem does. Also, add an explanation in the README.md
8cd1d7b to
b286f0c
Compare
|
Actually I was wondering how to setup tests for this. I figured it out today. Hooray! |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
I'm confused about something. pdb.post_mortem attaches the debugger to the process and starts debugging it. This won't. You have to be already attached, right? What would be the point of this then? Is it just so you don't have to break on exceptions in the debugger, but instead control when the break happens? |
|
I think ideally this would actually start VS code and open the debugger. Which might be doable, but would probably have to be configurable somehow. |
Adds a convenient and easy post_mortem() function that can be called to immediately trigger the graphical postmortem debugger given any exc_info structure. We need to suspend sys.monitoring callbacks while doing this, because the built in reentrancy protection doesn't apply when pydevd suspends directly from normal code instead of a monitoring callback. Functions were added in _pydevd_sys_monitoring to do that.